maintaining state in loops